﻿namespace SIG.Data.UnitOfWork
{
    using Core;
    using Model;
    using Model.Ads;
    using Model.Albums;
    using Model.Announcements;
    using Model.Articles;
    using Model.Blogs;
    using Model.Case;
    using Model.Chronicles;
    using Model.Emails;
    using Model.FQAs;
    using Model.Identity;
    using Model.Jobs;
    using Model.Shipping;
    using Model.Store;
    using Model.Teams;
    using Model.Videos;
    using System;
    using System.Data.Entity;

    public interface IMainBCUnitOfWork : IQueryableUnitOfWork, IUnitOfWork, IDisposable, ISql
    {
        IDbSet<Log> Logs { get; }
        IDbSet<Category> Categories { get; }
        IDbSet<Menu> Menus { get; }
        IDbSet<Page> Pages { get; }
        IDbSet<PageMeta> PageMetas { get; }
        IDbSet<Position> Positions { get; }
        IDbSet<Carousel> Carousels { get; }
        IDbSet<User> Users { get; }
        IDbSet<Role> Roles { get; }
        IDbSet<UserSafety> UserSafeties { get; }
        IDbSet<ArticleCategory> ArticleCategories { get; }
        IDbSet<Article> Articles { get; }
        IDbSet<Product> Products { get; }
        IDbSet<ProductPhoto> ProductPhotos { get; }

       
      

        IDbSet<GoodsCategory> GoodsCategories { get; }
        IDbSet<Goods> Goods { get; }
        IDbSet<GoodsPhoto> GoodsPhotos { get; }
        IDbSet<Cart> Carts { get; }
        IDbSet<Order> Orders { get; }
        IDbSet<OrderDetail> OrderDetails { get; }

        IDbSet<Province> Provinces { get; }
        IDbSet<City> Cities { get; }
        IDbSet<District> Districts { get; }
        IDbSet<RecipientInfo> RecipientInfoes { get; }

       IDbSet<LinkCategory> LinkCategories { get; }
        IDbSet<Link> Links { get; }

        IDbSet<QuestionCategory> QuestionCategories { get; }
        IDbSet<Question> Questions { get; }

        IDbSet<Announcement> Announcements { get; }
        IDbSet<Video> Videos { get; }
        IDbSet<Email> Emails { get; }
        IDbSet<EmailAccount> EmailAccounts { get; }
        IDbSet<EmailTemplate> EmailTemplates { get; }

        IDbSet<Chronicle> Chronicles { get; }

        IDbSet<Team> Teams { get; }
        IDbSet<Job> Jobs { get; }

        IDbSet<Album> Albums { get; }
        IDbSet<Photo> Photos { get; }

        IDbSet<Work> Works { get; }
        IDbSet<WorkType> WorkTypes { get; }
        IDbSet<Client> Clients { get; }
        IDbSet<Solution> Solutions { get; }

        IDbSet<PostCategory> PostCategories { get; }
        IDbSet<Post> Posts { get; }
    }
}
